package calpi;

/**
 * Classe que representa um curso
 * @author Sem iNick
 */
public class Curso {

    //Código do curso
    private int id;

    //Nome do curso
    private String nome;

    /**
     * Cria um objeto curso com sua características
     * @param id Código do curso
     * @param nome Nome do curso
     * @throws IllegalArgumentException Se id for menor que zero
     * @throws NullPointerException Se nome do curso for nulo
     */
    public Curso(int id, String nome) {

        setId(id);
        setNome(nome);
    }

    /**
     * Setter para o código do curso
     * @param id Novo id do curso
     * @throws IllegalArgumentException Se id menor que zero
     */
    public void setId(int id) {

        if (id < 0) {

            throw new IllegalArgumentException("Código do curso não pode ser negativo");
        }

        this.id = id;
    }

    public int getId() {

        return id;
    }

    /**
     * Setter para nome do curso
     * @param nome Novo nome do curso
     * @throws NullPointerException Se novo nome for nulo
     */
    public void setNome(String nome) {

        if (nome == null) {

            throw new NullPointerException("Nome do curso não pode ser nulo.");
        }

        this.nome = nome;
    }

    public String getNome() {

        return nome;
    }
}
